package com.hwd.srb.core.service;

import com.hwd.srb.core.pojo.entity.UserAccount;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.Map;

/**
 * <p>
 * 用户账户 服务类
 * </p>
 *
 * @author 黄伟东/Victor
 * @since 2022-03-10
 */
public interface UserAccountService extends IService<UserAccount> {

    /**
     * 会员账号充值，返回汇付宝表单字符串
     *
     * @param chargeAmt 充值金额
     * @param userId    用户id
     * @return java.lang.String
     */
    String commitCharge(BigDecimal chargeAmt, Long userId);

    /**
     * 充值异步回调
     *
     * @param paramMap 充值异步回调参数
     */
    void notifyReCharge(Map<String, Object> paramMap);

    /**
     * 根据userId 获取账户余额
     * @param userId 用户id
     * @return java.math.BigDecimal
     */
    BigDecimal getAccountByUserId(Long userId);

    /**
     * 根据userId获取账户信息
     *
     * @param userId 用户id
     * @return com.hwd.srb.core.pojo.entity.UserAccount
     */
    UserAccount getUserAccountByUserId(Long userId);
}
